#ifndef _WAIT_QUEUE_EVENT_H_
#define _WAIT_QUEUE_EVENT_H_

#include <Event.h>
#include <pthread.h>
#include <ProcessComposition.h>

class WaitQueueEvent: public Event
{
	public:
		void Trigger(int exit_status);
		void SetActive();
		WaitQueueEvent(int process_count_, ProcessComposition *pc);
		~WaitQueueEvent();
	private:
		int process_count;
		int is_active;
		pthread_mutex_t mutex;
		pthread_cond_t condition;
		ProcessComposition *waitingProcess;

		int acc_status;
};

#endif

